// 一、用户输入一串字符串，只保留字符串中的字母，过滤其他字符
// 举例：str="daud3467@$#@%sdh"  输出："daudsdh"
let readline = require("readline-sync");
// console.log("请输入字符串：");
// let str=readline.question("");
// let newStr="";//用于拼接找出来的字母
// for(let i=0;i<str.length;i++){
//     if(str[i]>="a" && str[i]<="z" || str[i]>="A" && str[i]<="Z"){
//         newStr+=str[i];
//     }
// }
// console.log(newStr);

// function choice(x) {
//     let newStr = ""; //用于拼接找出来的字母
//     for (let i = 0; i < x.length; i++) {
//         if (x[i] >= "a" && x[i] <= "z" || x[i] >= "A" && x[i] <= "Z") {
//             newStr += x[i];
//         }
//     }
//    return newStr;

// }

// console.log(choice(str));

// 二、用户输入一串英文，返回该段英文有多少个单词
// 举例：str="this is an apple"  输出：4个单词
// console.log("请输入英文字符串：");
// let str=readline.question("");
// let arr=str.split(" ");
// console.log(arr.length);

// function Num(x){
//     let arr=x.split(" ");
//     return arr.length;

// }
// console.log(Num("this is an apple"))


// 三、字符替换函数 用户输入原始字符串  替换字符  替换后字符  替换个数，最后输出替换结果
// 将原始字符串  替换字符  替换后字符  替换个数 作为参数，传入函数中，最后函数返回替换后结果
// 举例：原始字符串="sahdfaass"; 替换字符："s"  替换后的字符："#" 替换个数：2
//      输出结果："#ahdfaa#s"
console.log("请输入原始字符串：");
let str=readline.question("");
console.log("请输入要替换的字符：");
let replace=readline.question("");
console.log("请输入替换后的字符：");
let newReplace=readline.question("");
console.log("请输入替换次数：");
let count=readline.question("");
// let arr=[...str];//字符串转成数组
// for(let i=0;i<arr.length;i++){
//     if(arr[i]==replace){
//         arr.splice(i,1,newReplace);
//         count--;//替换次数减一
//         if(count==0){
//             break;
//         }
//     }
// }
// console.log(arr.join(""));

function test(str, replace, newReplace, count) {
    let arr = [...str]; //字符串转成数组
    for (let i = 0; i < arr.length; i++) {
        if (arr[i] == replace) {
            arr.splice(i, 1, newReplace);
            count--; //替换次数减一
            if (count == 0) {
                break;
            }
        }
    }
    return arr.join("");


}

console.log(test(str,replace,newReplace,count));